using System;
using System.Collections.Generic;
using System.Text;
using System.Data;           //CommandType
using System.Data.SqlClient; //SqlConnection, SqlCommand, SqlDataReader
using Etna.Exportaciones.En;

namespace Etna.Exportaciones.Ad
{
    public class AdProducto
    {
        //public AdProducto(SqlConnection con)
        //{
        //   conexion = con;
        //}

        public EnProducto Leer(int pidProducto, SqlConnection conexion)
        {
            EnProducto oEnProducto = null;
            SqlCommand cmd = new SqlCommand("sExportaciones_Producto", conexion);
            cmd.CommandType = CommandType.StoredProcedure;

            SqlParameter Parametro1 = cmd.Parameters.Add("@pidproducto", SqlDbType.Int);
            Parametro1.Direction = ParameterDirection.Input;
            Parametro1.Value = pidProducto;

            SqlDataReader drd = cmd.ExecuteReader(CommandBehavior.SingleResult);
            if (drd != null)
            {

                if (drd.Read())
                {
                    oEnProducto = new EnProducto();
                    oEnProducto.idProducto = drd.GetInt32(0);
                    if (!drd.IsDBNull(1))
                    {
                        oEnProducto.sDescripcion = drd.GetString(1);
                    }

                    if (!drd.IsDBNull(2))
                    {
                        oEnProducto.sModelo = drd.GetString(2);
                    }

                    if (!drd.IsDBNull(3))
                    {
                        oEnProducto.dPrecio = drd.GetDecimal(3);
                    }

                    if (!drd.IsDBNull(4))
                    {
                        oEnProducto.dImpuesto = drd.GetDecimal(4);
                    }
                }
                drd.Close();
            }

            return oEnProducto;
        }

        public List<EnProducto> Listar(int pidProducto, SqlConnection conexion)
        {
            List<EnProducto> loEnProducto = null;
            EnProducto oEnProducto = null;
            SqlCommand cmd = new SqlCommand("sExportaciones_ProductoListar", conexion);
            cmd.CommandType = CommandType.StoredProcedure;

            //SqlParameter Parametro1 = cmd.Parameters.Add("@piidProducto", SqlDbType.Int);
            //Parametro1.Direction = ParameterDirection.Input;
            //Parametro1.Value = pidProducto;

            SqlDataReader drd = cmd.ExecuteReader(CommandBehavior.SingleResult);
            if (drd != null)
            {

                loEnProducto = new List<EnProducto>();
                while (drd.Read())
                {
                    oEnProducto = new EnProducto();
                    oEnProducto.idProducto = drd.GetInt32(0);
                    if (!drd.IsDBNull(1))
                    {
                        oEnProducto.sDescripcion = drd.GetString(1);
                    }                    
                    if (!drd.IsDBNull(4))
                    {
                        oEnProducto.sModelo = drd.GetString(4);
                    }
                    
                    loEnProducto.Add(oEnProducto);
                }
                drd.Close();
            }

            return loEnProducto;
        }
    }
}
